/**
 * 
 */
package org.vsg.stock.basic.domain;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author Bill vison
 *
 */
public class BalanceLineKeyPoint implements Serializable {

	public static final String CLOSE = "C";
	
	public static final String OPEN = "O";
	
	public static final String HIGH = "H";
	
	public static final String LOW = "L";
	
	private String pointId;
	
	private String stockCode;
	
	private Date refDate;
	
	private Double price;
	
	private String priceType;
	
	private short integerFlag;
	
	private short substanceFlag;
	
	private List<BalanceLine> belongToLines;

	
	public String getPointId() {
		return pointId;
	}

	public void setPointId(String pointId) {
		this.pointId = pointId;
	}

	public String getStockCode() {
		return stockCode;
	}

	public void setStockCode(String stockCode) {
		this.stockCode = stockCode;
	}

	public Date getRefDate() {
		return refDate;
	}

	public void setRefDate(Date refDate) {
		this.refDate = refDate;
	}

	public Double getPrice() {
		return price;
	}

	public void setPrice(Double price) {
		this.price = price;
	}

	public String getPriceType() {
		return priceType;
	}

	public void setPriceType(String priceType) {
		this.priceType = priceType;
	}

	
	public short getIntegerFlag() {
		return integerFlag;
	}

	public void setIntegerFlag(short isIntegerFlag) {
		this.integerFlag = isIntegerFlag;
	}

	public short getSubstanceFlag() {
		return substanceFlag;
	}

	public void setSubstanceFlag(short isSubstanceFlag) {
		this.substanceFlag = isSubstanceFlag;
	}

	protected List<BalanceLine> getBelongToLines() {
		return belongToLines;
	}

	protected void setBelongToLines(List<BalanceLine> belongToLines) {
		this.belongToLines = belongToLines;
	}

	@Override
	public String toString() {
		return "BalanceLineKeyPoint [pointId=" + pointId + ", stockCode="
				+ stockCode + ", refDate=" + refDate + ", price=" + price
				+ ", priceType=" + priceType + "]";
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((pointId == null) ? 0 : pointId.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		BalanceLineKeyPoint other = (BalanceLineKeyPoint) obj;
		if (pointId == null) {
			if (other.pointId != null)
				return false;
		} else if (!pointId.equals(other.pointId))
			return false;
		return true;
	}

	
	
	
	
}
